﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;

namespace DIWAGIS.Modules
{
    class connectionDB
    {
        // kết nối sql thuần

        public SqlConnection KetnoiADONet(string _tenMayChu, string _tenCoSoDuLieu, string _tenDangNhap, string _matKhau)
        {
            SqlConnection connec;
            SqlConnectionStringBuilder strconnect;
            strconnect = new SqlConnectionStringBuilder();

            strconnect.DataSource = _tenMayChu;
            strconnect.InitialCatalog = _tenCoSoDuLieu;
            strconnect.PersistSecurityInfo = true;
            strconnect.UserID = _tenDangNhap;
            strconnect.Password = _matKhau;

            connec = new SqlConnection(strconnect.ConnectionString);

            return connec;

        }


        // kết nối sql qua cầu nối SDE
        public IWorkspace openSDEWorkspaceAccount(string _tenMayChu,string _tenDichVu, string _tenCoSoDuLieu, string _tenDangNhap, string _matKhau, string _version)
        {

            try
            {
                IPropertySet pPropset;
                pPropset = new PropertySet();
                Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");
                IWorkspaceFactory pSdeFact = (IWorkspaceFactory)Activator.CreateInstance(factoryType);


                pPropset.SetProperty("SERVER", _tenMayChu);
                pPropset.SetProperty("INSTANCE", _tenDichVu);
                pPropset.SetProperty("DATABASE", _tenCoSoDuLieu);
                pPropset.SetProperty("USER", _tenDangNhap);
                pPropset.SetProperty("PASSWORD", _matKhau);
                pPropset.SetProperty("VERSION", _version);


                return pSdeFact.Open(pPropset, 0);
            }
            catch
            {
                MessageBox.Show("Thông báo , chương trình không thể đăng nhập vào hệ thống, vui lòng kiểm tra lại thông số cấu hình ", generalVariable.nameProgram, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return null;
            }
        }

       

    }
}
